%include "head.include"

student_function:
pushad
your_if:
mov eax, [a1]
mov ebx, 12
cmp eax, ebx
jg greater_than
shr eax, 1
add eax, 1
mov [if_flag], eax
jmp your_while

greater_than:
mov ebx, 24
cmp eax, ebx
je greater_than1
cmp eax, ebx
jg greater_than1
sub ebx, eax
imul eax, ebx
mov [if_flag], eax
jmp your_while

greater_than1:
shl eax, 4
mov [if_flag], eax
jmp your_while

your_while:

mov edx, [while_flag]

while1:
xor ecx, ecx
xor ebx, ebx
mov ecx, [a2]
mov ebx, ecx
sub ebx, 12
add ebx, edx
push ecx
push ebx
push edx
call my_random
pop edx
pop ebx
pop ecx
mov byte[ebx], al
sub ecx, 1
mov dword[a2], ecx
cmp ecx, 11
je greater_than2
jmp while1
greater_than2:
popad
ret


%include "end.include"

your_function:
pushad
xor eax, eax
mov ecx, 0
for:
mov edx, [your_string]
xor ebx, ebx
add edx, eax
mov ebx, [edx]
cmp ebx, ecx
je enn
push eax
push ecx
push ebx
call print_a_char
pop ebx
pop ecx
pop eax
add eax, 1
jmp for
enn:
jmp $
mov ah, 0
int 21h
popad
ret





